Direct Digital Synthesis (“DDS”) is a technique used to generate periodic signals where control over one or more signal properties is desired. Analog signals can be generated with either the period or the wave shape controlled through DDS.
FIG. 1 shows a traditional DDS architecture with DDS 100 being used to generate a sine wave that is then converted to a two-valued clock. DDS 100 receives an accumulator clock CLKACC and a digital input signal ΦInc indicating a phase increment. The DDS outputs a signal FOUT. The frequency of FOUT can be set by varying the frequency of CLKACC and/or varying the phase increment ΦInc.
In operation, accumulator 110 produces a new output value ΦAcc on each cycle of CLKACC. To produce each new value, the accumulator 110 adds ΦInc to its current contents. As shown in FIG. 1, accumulator 110 can be constructed from an adder 110a and a register 110b. 
The value in accumulator 110 serves as a control input to Sine Unit 112. Sine Unit 112 converts each phase value ΦAcc into a corresponding amplitude value. In the illustration, the DDS signal generator is producing a sine wave, accordingly, the amplitude values are related to the value ΦAcc by the function sin (ΦAcc). Sine Unit 112 might generate the required outputs using a math engine—a circuit configured to producing an output signal having a specific mathematical relationship to an input signal. Alternatively, it is possible to implement a sine unit by pre-computing the required output value for each value of the control input. These pre-computed output values are then stored in a memory at locations addressed by the control input. In operation, the control inputs are applied as addresses to the memory, resulting in the required output value of sin (ΦAcc) being read from the memory for each of ΦAcc applied as an input.
The output of sine unit 112 is periodic. Periodicity is achieved because of overflow in accumulator 110. The value stored in accumulator 110 increases (or decrease if negative values of ΦInc are used) for every cycle of CLKACC. Eventually, the value in accumulator 110 overflows (or underflows—if negative values of ΦInc are used). The full scale value of the accumulator is selected to correspond to a phase of 2 pi radians. If the addition of ΦInc would cause the value of ΦAcc to exceed 2 pi radians by an amount x, after the overflow, the accumulator stores only the value x. As a result, an overflow of the accumulator has the same effect as starting a new cycle of the periodic waveform, with the appropriate phase relationship maintained between the end of one cycle and the beginning of the next cycle.
The duration of one cycle of the waveform Fout can be controlled by altering the time it takes for accumulator 110 to overflow. This time can be controlled by changing the frequency of clock CLKACC. This time can also be controlled by changing the value of ΦInc.
Digital values representing sin (ΦAcc) are then fed to a DAC 114, which converts them to a quantized analog signal. Usually, a filter is attached to the output of the digital to analog converter to smooth out the quantized signal. Where a sine wave is required, the filter is likely a bandpass filter because a bandpass filter that includes the desired frequency of the sine wave in its pass band will increase the “spectral purity” of the signal. If a digital signal, such as a clock, is desired, the analog signal may be fed to a comparator 118 to square off the signal. Thus, the DDS signal generator provides a convenient mechanism to generate a clock of controlled frequency.
Because the frequency of waveform Fout is influenced by the frequency of CLKACC, it is not possible to arbitrarily set the frequency of CLKACC. There are some applications in which the use of DDS is desired, but the DDS must be compatible with circuits clocked at other frequencies. An example of such an application is automatic test equipment. FIG. 7 shows in greatly simplified form a block diagram of an automatic test system 800 of the type that might be used to test semiconductor chips. An example of such a system is the Tiger™ test system sold by Teradyne, Inc. of Boston, Mass., USA.
The test system includes a work station 810 that controls the test system 800. Work station 810 runs test programs that set up the hardware within tester body 812 and reads back results of tests. The work station also provides an interface to a human operator so that the operator can provide commands or data for testing a particular type of semiconductor device. For example a program running on work station 810 might change the value of a register inside tester body 812 holding the value of ΦInc to change the frequency of a clock within the test system.
To fully test many types of devices, both analog and digital test signals must be generated and measured. Inside tester body 812 are digital “pins” 820 and analog instruments 818. Both are connected to the device under test 850. Digital pins are circuits that generate or measure digital signals or DC voltages and currents. In contrast, analog instruments generate and measure analog signals.
Pattern generator 816 provides control inputs to the digital pins 820 and the analog instruments 818. These control inputs define both the values and the time at which test signals should be generated or measured. To ensure an accurate test, the actions of the digital pins and the analog instruments often must be synchronized. Timing generator 814 provides timing signals that synchronize operation of the various components within tester body 812.
Automatic test equipment is made programmable so that it can test many different types of devices. It is often desirable to be able within automatic test equipment to generate a digital clock of a programmable frequency. An example of such an application is called an arbitrary waveform generator (AWG). AWG 822 creates a waveform that can be programmed into an almost arbitrary shape using a clock of controllable frequency. In the prior art, a DDS signal generator 100 has been used as the clock for the AWG.
Automatic test equipment also sometimes contains an analog instrument called a digitizer. Digitizer 823 also relies on a clock, which should preferably be programmable.
A difficulty arises because the DDS circuit is clocked by clock CLKACC. Pattern generator 816 or timing generator 814 might output commands or control signals at a different frequency. It would be highly desirable to have the DDS easily interface to other parts of the system, even if clocked by clocks of different frequencies.
In an automatic test system, it is often important to control the time relationship between signals in analog instruments and digital pins. For this reason, there is a desire to have all instruments in a tester synchronized to some timing reference. Even if a DDS circuit is operating at a different clock frequency than other portions of a system, it would also be desirable to synchronize the clock used in the DDS to a clock used to control overall system timing.